<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
Jsoner
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="Jsoner";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-jsoner.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="JSINER.html"><B>PREV CLASS</B></A><!-- 
   NEXT CLASS 
-->
&nbsp;<A HREF="KeySet.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>

<!-- ======== START OF CLASS DATA ======== -->
<H2>Class Jsoner</H2>
<PRE>Object
   |
   +--<b>Jsoner</b>
</PRE>


<HR>
<DL>
   <!-- Class definition -->
   <DT>class 
   <B>Jsoner</B>
   

</DL>
   
   <P>
   <I>Defined in <a href='overview-summary-jsoner.js.html'>jsoner.js</a></I><BR/><BR/>
   </P>
   
   <HR>

<!-- ======== NESTED CLASS SUMMARY ======== -->

<!-- ======== END NESTED CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

   <A NAME="field_summary"><!-- --></A>
      <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
         <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
            <TD COLSPAN=2><FONT SIZE="+2">
               <B>Field Summary</B></FONT></TD>
         </TR>

   <!-- This is one instance field summary -->
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&nbsp;Map</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#fDataProviderCache">fDataProviderCache</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The map used to precache JSON path - lookup functions to improve performance.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&nbsp;Object</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#fLogger">fLogger</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&nbsp;&lt;final&gt;&nbsp;string</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#PATTERN_CDATA_KEY">PATTERN_CDATA_KEY</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined JSON pattern key for CDATA.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&nbsp;&lt;final&gt;&nbsp;string</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#PATTERN_DEFAULT_KEY">PATTERN_DEFAULT_KEY</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined default JSON pattern.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;String</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#!s!CROSS_LINK_PREFIX">CROSS_LINK_PREFIX</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined cross linked node value prefix.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#!s!JSON_ATTRIBUTE">JSON_ATTRIBUTE</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined JSON event type.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#!s!JSON_NODE_CROSS_LINKED">JSON_NODE_CROSS_LINKED</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined JSON event type.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#!s!JSON_NODE_END">JSON_NODE_END</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined JSON event type.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#!s!JSON_NODE_LEAF">JSON_NODE_LEAF</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined JSON event type.</TD>
   </TR>
   
   <TR BGCOLOR="white" CLASS="TableRowColor">
   <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
   <CODE>&lt;static&gt; &nbsp;&lt;final&gt;&nbsp;Number</CODE></FONT></TD>
   <TD><CODE><B><A HREF="#!s!JSON_NODE_START">JSON_NODE_START</A></B></CODE>
   <BR>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predefined JSON event type.</TD>
   </TR>
   

   </TABLE>
   &nbsp;
   

   

<!-- =========== END FIELD SUMMARY =========== -->


<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
   <TD>
      <CODE>
	 <B>
	    <A HREF="#Jsoner()">Jsoner</A></B>()
      </CODE>
      <BR>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      JSONER's constuctor.
      </TD>
</TR>
</TABLE>

<!-- ======== END CONSTRUCTOR SUMMARY ======== -->

&nbsp;

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>


   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#addChild">addChild</A></B>(aJson, aPath, aValue, aPosition)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Inserts the specified value into the array of nodes on the JSON.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#cascadePatternResolver">cascadePatternResolver</A></B>(aJson, aPath, aValue)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Predefined cascade JSON pattern resolver.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#clone">clone</A></B>(aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Creates deep copy of the JSON object.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Array</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#collectAttributes">collectAttributes</A></B>(aPath, aValue, aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Collects the JSON attributes to array as pair name-value
 <samp>{name:name, value:value}</samp>.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Array</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#collectChildren">collectChildren</A></B>(aPath, aValue, aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Collects the JSON children to array as pair name-value
 <samp>{name:name, value:value}</samp>.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Function</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#converterFactory">converterFactory</A></B>(aConverter)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Factory used to create a converter based on argument type.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Object</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#createNewInstance">createNewInstance</A></B>(aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Creates new instance of the object.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#defaultAcceptor">defaultAcceptor</A></B>(aPath, aJson, aPathPattern, aValuePattern)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Default acceptor, suitable for base lookup patterns.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;String</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#defaultHtmlConverter">defaultHtmlConverter</A></B>(aElementName, aElement)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 By default, converts HTML form element name to JSON path.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Array</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getAttributes">getAttributes</A></B>(aJson, aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns an array of the attributes on the JSON node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Array</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getChildren">getChildren</A></B>(aJson, aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns an array of the child nodes on the JSON node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Number</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getCount">getCount</A></B>(aJson, aPathPattern, aValuePattern)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns amount of reasonable nodes by specified criteria.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getDifference">getDifference</A></B>(aTemplate, aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Creates an object that represents a difference between
 two JSON objects.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;String</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getFieldValue">getFieldValue</A></B>(aElement)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Utility method, returns HTML form field value.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Object</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getFirstChild">getFirstChild</A></B>(aJson, aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns the first child of the JSON node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Object</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getLastChild">getLastChild</A></B>(aJson, aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns the last child of the JSON node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;String</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getLastProperty">getLastProperty</A></B>(aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns last property name by JSON path that represented as an array.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Object</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#getValue">getValue</A></B>(aJson, aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Gets value from JSON model safe.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#htmlFormEvaluator">htmlFormEvaluator</A></B>(aForm, aCallBack)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Emulates path-value events for HTML form.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isAttribute">isAttribute</A></B>(aName, aValue)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that the JSON property should be represented as an attribute.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isCDATA">isCDATA</A></B>(anAttributeName)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that the JSON attribute should be represented as CDATA.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isContains">isContains</A></B>(aJson, aPathPattern, aValuePattern)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that reasonable node is found by specified criteria.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isEquals">isEquals</A></B>(aJson1, aJson2)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that two JSON objects are equal.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isLeaf">isLeaf</A></B>(aJson, aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that a node is leaf.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isMatch">isMatch</A></B>(aPattern, aValue)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Checks if the value matches pattern.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isMute">isMute</A></B>(aName, aValue, aParent)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that the JSON property should be ignored.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isResolveCrossLinks">isResolveCrossLinks</A></B>(anObject)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that cross link collisions resolver is turn on.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isText">isText</A></B>(anAttributeName)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that the JSON attribute should be represented as a text node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isWalkArray">isWalkArray</A></B>(aName, aValue, aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that the walking node is array.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Boolean</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#isWalkNode">isWalkNode</A></B>(aName, aValue, aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Indicates that the walking object represents JSON node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#jsonPathEvaluator">jsonPathEvaluator</A></B>(aJson, aCallBack)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Converts traverse tree events to path-value events.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Object</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#jsonToDOM">jsonToDOM</A></B>(aJson, aDocument, aNodeConverter, anAttributeConverter )
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Creates HTML node or array of HTML nodes by JSON object
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#jsonToHTML">jsonToHTML</A></B>(aJson, aPattern, aPatternResolver, aParentNodeProvider, aNodeFactory)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Creates HTML DOM structure based on JSON object and pattern.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Map</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#jsonToMap">jsonToMap</A></B>(anArray, aPathToKey, aPathToValue)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns the map created by array of JSON objects using path for key and path for value.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;String</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#jsonToPathValue">jsonToPathValue</A></B>(aJson)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns path-value representation of JSON object.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;String</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#jsonToXML">jsonToXML</A></B>(aJson, aPrettyPrint, aNodeConverter, anAttributeConverter, aValueConverter)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Returns a XML representation of the JSON object based on tree traversing.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#jsonTreeWalker">jsonTreeWalker</A></B>(aJson, aCallBack)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Traverses the JSON object.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Array</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#lookupAll">lookupAll</A></B>(aJson, aPathPattern, aValuePattern)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Looks up all reasonable nodes by specified criteria.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;Object</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#lookupFirst">lookupFirst</A></B>(aJson, aPathPattern, aValuePattern)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Looks up first reasonable node by specified criteria.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#merge">merge</A></B>(aTemplate, aJson, aCreateMissing)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Creates and returns a merged JSON object
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#populate">populate</A></B>(aJson, aPath, aValue, aCreateMissing)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Populates the value to JSON object using the path based way to compute a place in JSON object.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#populateFormToJson">populateFormToJson</A></B>(aForm, aJson, aConverter)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Populates HTML form data to JSON object.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#populateJsonToForm">populateJsonToForm</A></B>(aJson, aForm, aConvertor)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Populates JSON data to HTML form.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#registerDataProvider">registerDataProvider</A></B>(aPath, aFunction)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Registers data provider method by path in JSON.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#removeChild">removeChild</A></B>(aJson, aPath, aValue)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Removes the child node from the specified by path node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#removeChildren">removeChildren</A></B>(aJson, aPath)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Removes all children nodes from the specified by path node.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#selectPatternResolver">selectPatternResolver</A></B>(aJson, aPath, aValue)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Predefined selective JSON pattern resolver.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#setFieldValue">setFieldValue</A></B>(aElement, aValue)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Utility method, sets value to HTML form field.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;JSON</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#setValue">setValue</A></B>(aJson, aPath, aValue, aCreateMissing)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Safe sets value to JSON model.
      </TD>
   </TR>

   <TR BGCOLOR="white" CLASS="TableRowColor">
      <TD ALIGN="right" VALIGN="top" WIDTH="1%">
	 <FONT SIZE="-1">
	    <CODE>&nbsp;void</CODE>
	 </FONT>
      </TD>
      <TD>
	 <CODE>
	    <B>
	       <A HREF="#visit">visit</A></B>(aJson, anAcceptor, aVisitor)
	 </CODE>
	 <BR>
	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	 Visits all accepted JSON nodes until a visitor returns true, otherwise stop processing.
      </TD>
   </TR>


</TABLE>



<P>
<!-- ========== END METHOD SUMMARY =========== -->


<!-- ============ FIELD DETAIL START =========== -->

   <A NAME="field_detail"><!-- --></A>
   <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
      <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
         <TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
      </TR>
   </TABLE>

   
   <A NAME="fDataProviderCache"><!-- --></A>
   <H3>fDataProviderCache</H3>
   <PRE>Map&nbsp;<B>fDataProviderCache</B></PRE>
   <UL>
   The map used to precache JSON path - lookup functions to improve performance.
 The ones can be used to register custom value providers too.
   
   </UL>
   <HR>
   
   <A NAME="fLogger"><!-- --></A>
   <H3>fLogger</H3>
   <PRE>Object&nbsp;<B>fLogger</B></PRE>
   <UL>
   
   
   </UL>
   <HR>
   
   <A NAME="PATTERN_CDATA_KEY"><!-- --></A>
   <H3>PATTERN_CDATA_KEY</H3>
   <PRE>&lt;final&gt;&nbsp;string&nbsp;<B>PATTERN_CDATA_KEY</B></PRE>
   <UL>
   Predefined JSON pattern key for CDATA.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.PATTERN_CDATA_KEY">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   
   <A NAME="PATTERN_DEFAULT_KEY"><!-- --></A>
   <H3>PATTERN_DEFAULT_KEY</H3>
   <PRE>&lt;final&gt;&nbsp;string&nbsp;<B>PATTERN_DEFAULT_KEY</B></PRE>
   <UL>
   Predefined default JSON pattern.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.PATTERN_DEFAULT_KEY">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   
   <A NAME="!s!CROSS_LINK_PREFIX"><!-- --></A>
   <H3>CROSS_LINK_PREFIX</H3>
   <PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;String&nbsp;<B>CROSS_LINK_PREFIX</B></PRE>
   <UL>
   Predefined cross linked node value prefix.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.!s!CROSS_LINK_PREFIX">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   
   <A NAME="!s!JSON_ATTRIBUTE"><!-- --></A>
   <H3>JSON_ATTRIBUTE</H3>
   <PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>JSON_ATTRIBUTE</B></PRE>
   <UL>
   Predefined JSON event type.
 It confirms that a node that represented as attribute starting.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.!s!JSON_ATTRIBUTE">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   
   <A NAME="!s!JSON_NODE_CROSS_LINKED"><!-- --></A>
   <H3>JSON_NODE_CROSS_LINKED</H3>
   <PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>JSON_NODE_CROSS_LINKED</B></PRE>
   <UL>
   Predefined JSON event type.
 It confirms that a branch node cross linked.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.!s!JSON_NODE_CROSS_LINKED">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   
   <A NAME="!s!JSON_NODE_END"><!-- --></A>
   <H3>JSON_NODE_END</H3>
   <PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>JSON_NODE_END</B></PRE>
   <UL>
   Predefined JSON event type.
 It confirms that a branch node closing.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.!s!JSON_NODE_END">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   
   <A NAME="!s!JSON_NODE_LEAF"><!-- --></A>
   <H3>JSON_NODE_LEAF</H3>
   <PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>JSON_NODE_LEAF</B></PRE>
   <UL>
   Predefined JSON event type.
 It confirms that a leaf node starting.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.!s!JSON_NODE_LEAF">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   
   <A NAME="!s!JSON_NODE_START"><!-- --></A>
   <H3>JSON_NODE_START</H3>
   <PRE>&lt;static&gt;&nbsp;&lt;final&gt;&nbsp;Number&nbsp;<B>JSON_NODE_START</B></PRE>
   <UL>
   Predefined JSON event type.
 It confirms that a branch node starting.
   
    <P>
    <DL>
    <DT><B>See Also:</B><DD><A HREF="constant-values.html#Jsoner.!s!JSON_NODE_START">Constant Field Values</A></DL>
    </DL>

   
   </UL>
   <HR>
   


<!-- ============ FIELD DETAIL END =========== -->

    <!-- ========= CONSTRUCTOR DETAIL START ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
      <TD COLSPAN=1>
      <FONT SIZE="+2"><B>Constructor Detail</B></FONT>
      </TD>
   </TR>
</TABLE>

<A NAME="Jsoner()"><!-- --></A><H3>
Jsoner</H3>
<PRE><B>Jsoner</B>()</PRE>


<UL>
   JSONER's constuctor.

 JSONER is a collection of solutions for most commonly
 used operations performed with JSON.
 JSONER allows developers to easily and quickly build rich JSON based web applications

 JSONER is based on event - event handler paradigm (like SAX).
 An event-based API reports parsing events (such as the start and end of JSON node)
 directly to the application through callbacks.
 In both these cases, an event-based API provides a simpler, lower-level access to JSON data structure.
</UL>



   </UL>


<!-- Constructor return value(s) -->

<!-- End constructor return value(s) -->

<!-- ADDITIONAL ATTRIBUTES -->

<HR/>
<!-- END ADDITIONAL ATTRIBUTES  -->

<!-- ========= CONSTRUCTOR DETAIL END ======== -->


<!-- ============ METHOD DETAIL START ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
   <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
      <TD COLSPAN=1><FONT SIZE="+2">
         <B>Method Detail</B></FONT>
      </TD>
   </TR>
</TABLE>

<!-- One single method detail entry -->

   <A NAME="addChild"><!-- --></A>
   <H3>addChild</H3>
   <PRE>JSON <B>addChild</B>(aJson, aPath, aValue, aPosition)</PRE>
   
      <UL>Inserts the specified value into the array of nodes on the JSON.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.  
      </UL> 
   
     <UL><CODE>The</CODE> -  value should be inserted.  
      </UL> 
   
     <UL><CODE>The</CODE> -  position where the value should be inserted.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         The modified JSON object, useful for making chank of changes. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="cascadePatternResolver"><!-- --></A>
   <H3>cascadePatternResolver</H3>
   <PRE>JSON <B>cascadePatternResolver</B>(aJson, aPath, aValue)</PRE>
   
      <UL>Predefined cascade JSON pattern resolver.
 Pattern - it's a specified data,
 that defines how JSON node will be transformed into DOM node.

 <ul>
  <span>Following rules are used to obtain the pattern: </span>
   <li> Gets default pattern.
   <li> Searches pattern by type.
   <li> Searches pattern by accumulated segments of path.
   <li> Searches pattern by path.</li>
  <span>Returns the  corresponding merged pattern.</span>
 </ul></UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  object, contains collection of patterns.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path in JSON model, used to resolve pattern.  
      </UL> 
   
     <UL><CODE>The</CODE> -  value of JSON property, used to resolve pattern.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns the JSON representation of pattern used to prepare HTML DOM node.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#jsonToHTML">.</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="clone"><!-- --></A>
   <H3>clone</H3>
   <PRE>JSON <B>clone</B>(aJson)</PRE>
   
      <UL>Creates deep copy of the JSON object.
 Recursive clones all JSON properties except attributes.
 Skips ignored properties.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns a deep copy of the JSON object.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#isAttribute">isAttribute()</a><BR/>- <a href="#isMute">isMute()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="collectAttributes"><!-- --></A>
   <H3>collectAttributes</H3>
   <PRE>Array <B>collectAttributes</B>(aPath, aValue, aJson)</PRE>
   
      <UL>Collects the JSON attributes to array as pair name-value
 <samp>{name:name, value:value}</samp>.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON path as array or String.  
      </UL> 
   
     <UL><CODE>The</CODE> -  JSON node value.  
      </UL> 
   
     <UL><CODE>The</CODE> -  top level JSON object.    
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         An array of attributes.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#isAttribute">.</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="collectChildren"><!-- --></A>
   <H3>collectChildren</H3>
   <PRE>Array <B>collectChildren</B>(aPath, aValue, aJson)</PRE>
   
      <UL>Collects the JSON children to array as pair name-value
 <samp>{name:name, value:value}</samp>.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON path as array or String.  
      </UL> 
   
     <UL><CODE>The</CODE> -  JSON node value.  
      </UL> 
   
     <UL><CODE>The</CODE> -  top level JSON object.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         An array of node children.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#collectAttributes">.</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="converterFactory"><!-- --></A>
   <H3>converterFactory</H3>
   <PRE>Function <B>converterFactory</B>(aConverter)</PRE>
   
      <UL>Factory used to create a converter based on argument type.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  converter template.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns dummy converter by undefined argument,  himself argument by funtion argument or proxy by Map argument.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="createNewInstance"><!-- --></A>
   <H3>createNewInstance</H3>
   <PRE>Object <B>createNewInstance</B>(aJson)</PRE>
   
      <UL>Creates new instance of the object.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  object.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
        Returns new instance of the object.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#clone">clone()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="defaultAcceptor"><!-- --></A>
   <H3>defaultAcceptor</H3>
   <PRE>Boolean <B>defaultAcceptor</B>(aPath, aJson, aPathPattern, aValuePattern)</PRE>
   
      <UL>Default acceptor, suitable for base lookup patterns.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  path in JSON model as array.  
      </UL> 
   
     <UL><CODE>The</CODE> -  value of JSON node.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path pattern.   <ul>    <span>Available types of pattern: </span>    <li> A string with wildcard asterisk (*), that substituted for any characters in a path.    <li> A string without wildcard that matched to equals.    <li> A RegExp pattern.   </ul>    <ul>    <span>Limitation: only one asterisk supported.</span>    <li> The path started with asterisk (*) represents end part of the path.    <li> The path end of asterisk (*) represents first part of the path.    <li> The path contains asterisk (*) in the middle of text represents first and end paths of the path.   </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  value pattern to match node attributes and nested nodes attributes.   Pattern represented as a map, contains pairs of nested property or attribute name and   matched value or RegExp pattern.   The value pattern looks like { "relativePath": value or RegExp, "relativePath": value or RegExp }.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if visit node is accepted.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="defaultHtmlConverter"><!-- --></A>
   <H3>defaultHtmlConverter</H3>
   <PRE>String <B>defaultHtmlConverter</B>(aElementName, aElement)</PRE>
   
      <UL>By default, converts HTML form element name to JSON path.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  HTML form element name.  
      </UL> 
   
     <UL><CODE>The</CODE> -  HTML form element.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns element name in case when element is not  disabled and is not read only, otherwise returns null. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getAttributes"><!-- --></A>
   <H3>getAttributes</H3>
   <PRE>Array <B>getAttributes</B>(aJson, aPath)</PRE>
   
      <UL>Returns an array of the attributes on the JSON node.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns an array of the attributes on the JSON node    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#isAttribute">isAttribute()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getChildren"><!-- --></A>
   <H3>getChildren</H3>
   <PRE>Array <B>getChildren</B>(aJson, aPath)</PRE>
   
      <UL>Returns an array of the child nodes on the JSON node.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns an array of the child nodes on the JSON node.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#isAttribute">isAttribute()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getCount"><!-- --></A>
   <H3>getCount</H3>
   <PRE>Number <B>getCount</B>(aJson, aPathPattern, aValuePattern)</PRE>
   
      <UL>Returns amount of reasonable nodes by specified criteria.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path pattern used to accept position in JSON object.   <ul>    <span>Available types of pattern: </span>    <li> A string with wildcard asterisk (*), that substitutes any characters in a path.    <li> A string without wildcard that matched to equals.    <li> A RegExp pattern.   </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  value pattern used to match node attributes and nested nodes attributes.  Pattern represented as a map, contains pairs of nested property or attribute name and  matches value or RegExp pattern.  The value pattern looks like <samp>{"relativePath":RegExp, "relativePath":pattern}</samp>   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns count of reasonable nodes by specified criteria    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#DEFAULT_ACCEPTOR">DEFAULT_ACCEPTOR</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getDifference"><!-- --></A>
   <H3>getDifference</H3>
   <PRE>JSON <B>getDifference</B>(aTemplate, aJson)</PRE>
   
      <UL>Creates an object that represents a difference between
 two JSON objects.
 The method getDifference is contrary to getMerge method.
 The  given JSON object can be restored by getMerge(aJson, difference) operation.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  first JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  second JSON object.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns object that represents a difference between two JSON objects.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getFieldValue"><!-- --></A>
   <H3>getFieldValue</H3>
   <PRE>String <B>getFieldValue</B>(aElement)</PRE>
   
      <UL>Utility method, returns HTML form field value.
 Captures the "value" property of the HTML form field by defaults,
 gets option value for "select" element, gets "checkbox" or "radio group" value if
 the ones is checked.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  HTML form field.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns the HTML form field value.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getFirstChild"><!-- --></A>
   <H3>getFirstChild</H3>
   <PRE>Object <B>getFirstChild</B>(aJson, aPath)</PRE>
   
      <UL>Returns the first child of the JSON node.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
        Returns the first child of the JSON node.  If the node is leaf or path is wrong returns undefined.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getLastChild"><!-- --></A>
   <H3>getLastChild</H3>
   <PRE>Object <B>getLastChild</B>(aJson, aPath)</PRE>
   
      <UL>Returns the last child of the JSON node.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
        Returns the last child of the JSON node.  If the node is leaf or path is wrong returns undefined.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getLastProperty"><!-- --></A>
   <H3>getLastProperty</H3>
   <PRE>String <B>getLastProperty</B>(aPath)</PRE>
   
      <UL>Returns last property name by JSON path that represented as an array.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON path as array.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns last token by JSON path. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="getValue"><!-- --></A>
   <H3>getValue</H3>
   <PRE>Object <B>getValue</B>(aJson, aPath)</PRE>
   
      <UL>Gets value from JSON model safe.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to compute a value in JSON model.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
        The value by path in JSON if data model by path is full defined  otherwise it returns undefined. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="htmlFormEvaluator"><!-- --></A>
   <H3>htmlFormEvaluator</H3>
   <PRE>void <B>htmlFormEvaluator</B>(aForm, aCallBack)</PRE>
   
      <UL>Emulates path-value events for HTML form.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  HTML form.  
      </UL> 
   
     <UL><CODE>The</CODE> -  observer, called  to process when the form element received.   <ul>  <span>List of arguments passed to the callBack function:</span>   <li>The HTML form element name.   <li>The HTML form element.  </ul>     
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isAttribute"><!-- --></A>
   <H3>isAttribute</H3>
   <PRE>Boolean <B>isAttribute</B>(aName, aValue)</PRE>
   
      <UL>Indicates that the JSON property should be represented as an attribute.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  property name.  
      </UL> 
   
     <UL><CODE>The</CODE> -  property value.   The method can be overloaded to transform JSON event output.  
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         If so it returns true, otherwise it returns false.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#jsonToXML">.</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isCDATA"><!-- --></A>
   <H3>isCDATA</H3>
   <PRE>Boolean <B>isCDATA</B>(anAttributeName)</PRE>
   
      <UL>Indicates that the JSON attribute should be represented as CDATA.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  attribute name.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         It returns true if so, otherwise it returns false.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#isAttribute">isAttribute()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isContains"><!-- --></A>
   <H3>isContains</H3>
   <PRE>Boolean <B>isContains</B>(aJson, aPathPattern, aValuePattern)</PRE>
   
      <UL>Indicates that reasonable node is found by specified criteria.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path pattern used to accept position in JSON object.   <ul>    <span>Available types of pattern: </span>    <li> A string with wildcard asterisk (*), that substitute any characters in a path.    <li> A string without wildcard that matches equals.    <li> A RegExp pattern.   </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  value pattern used to unite coresponding node attributes and nested nodes attributes.  Pattern represented as a map, contains pairs of nested property or attribute name and  matched value or RegExp pattern.  The value pattern looks like <samp>{"relativePath":RegExp, "relativePath":pattern}</samp>   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if at least one node is found, otherwise - false.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#DEFAULT_ACCEPTOR">DEFAULT_ACCEPTOR</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isEquals"><!-- --></A>
   <H3>isEquals</H3>
   <PRE>Boolean <B>isEquals</B>(aJson1, aJson2)</PRE>
   
      <UL>Indicates that two JSON objects are equal.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  first JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  second JSON object.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if the objects are equal, false - otherwise.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isLeaf"><!-- --></A>
   <H3>isLeaf</H3>
   <PRE>Boolean <B>isLeaf</B>(aJson, aPath)</PRE>
   
      <UL>Indicates that a node is leaf.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if so, otherwise - false.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#getChildren">getChildren()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isMatch"><!-- --></A>
   <H3>isMatch</H3>
   <PRE>Boolean <B>isMatch</B>(aPattern, aValue)</PRE>
   
      <UL>Checks if the value matches pattern.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  pattern as String or RegExp.  
      </UL> 
   
     <UL><CODE>The</CODE> -  value.   <ul>   <span>Available types of pattern: </span>   <li> A string with wildcard asterisk (*), that substituted for any characters in a path.   <li> A string without wildcard that matched to equals.   <li> A RegExp pattern.  </ul>   <ul>   <span>Limitation: only one asterisk supported.</span>   <li> The path started with asterisk (*) represents end part of the path.   <li> The path end of asterisk (*) represents first part of the path.   <li> The path contains asterisk (*) in the middle of text represents first and end paths of the path.  </ul>
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if a value is matched pattern.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isMute"><!-- --></A>
   <H3>isMute</H3>
   <PRE>Boolean <B>isMute</B>(aName, aValue, aParent)</PRE>
   
      <UL>Indicates that the JSON property should be ignored.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  property name.  
      </UL> 
   
     <UL><CODE>The</CODE> -  property value.  
      </UL> 
   
     <UL><CODE>The</CODE> -  parent object.   The method can be overloaded to transform JSON event output.  
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         If so it returns true, otherwise it returns false.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#jsonToXML">.</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isResolveCrossLinks"><!-- --></A>
   <H3>isResolveCrossLinks</H3>
   <PRE>Boolean <B>isResolveCrossLinks</B>(anObject)</PRE>
   
      <UL>Indicates that cross link collisions resolver is turn on.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if so, otherwise - false.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isText"><!-- --></A>
   <H3>isText</H3>
   <PRE>Boolean <B>isText</B>(anAttributeName)</PRE>
   
      <UL>Indicates that the JSON attribute should be represented as a text node.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  attribute name.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         If so it returns true, otherwise it returns false.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#isAttribute">isAttribute()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isWalkArray"><!-- --></A>
   <H3>isWalkArray</H3>
   <PRE>Boolean <B>isWalkArray</B>(aName, aValue, aJson)</PRE>
   
      <UL>Indicates that the walking node is array.
 Protected method.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON path as array.  
      </UL> 
   
     <UL><CODE>The</CODE> -  JSON node value.  
      </UL> 
   
     <UL><CODE>The</CODE> -  top level JSON object.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if it true, otherwise - false.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#jsonTreeWalker">jsonTreeWalker()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="isWalkNode"><!-- --></A>
   <H3>isWalkNode</H3>
   <PRE>Boolean <B>isWalkNode</B>(aName, aValue, aJson)</PRE>
   
      <UL>Indicates that the walking object represents JSON node.
 Protected method.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON path as array.  
      </UL> 
   
     <UL><CODE>The</CODE> -  JSON node value.  
      </UL> 
   
     <UL><CODE>The</CODE> -  JSON object.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns true if it true, otherwise - false.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#jsonTreeWalker">jsonTreeWalker()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="jsonPathEvaluator"><!-- --></A>
   <H3>jsonPathEvaluator</H3>
   <PRE>void <B>jsonPathEvaluator</B>(aJson, aCallBack)</PRE>
   
      <UL>Converts traverse tree events to path-value events.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  callBack function called to process when the branch of JSON object  starting is encountered.  <ul>  <span> List of arguments passed to the callBack function: </span>   <li> The path in JSON model.   <li> The value of JSON node.   <li> The JSON event type.  </ul>     
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="jsonToDOM"><!-- --></A>
   <H3>jsonToDOM</H3>
   <PRE>Object <B>jsonToDOM</B>(aJson, aDocument, aNodeConverter, anAttributeConverter )</PRE>
   
      <UL>Creates HTML node or array of HTML nodes by JSON object</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON representation of HTML node.   
      </UL> 
   
     <UL><CODE>The</CODE> -  node name converter as function or Map.  <ul>   <span>List of arguments passed to the converter in case of a function:</span>    <li> The JSON node name.    <li> The JSON path as array.    <li> The JSON node value.</li>   <span>Returns string representation of HTML node name to process or null to skip processing.</span>  </ul>  
      </UL> 
   
     <UL><CODE>The</CODE> -  owner document.   
      </UL> 
   
     <UL><CODE>The</CODE> -  attribute name converter as function or Map.  <ul>   <span>List of arguments passed to the converter in case when converter is a function:</span>    <li> The attribute name.    <li> The attribute value.    <li> The JSON path as array.</li>   <span> Returns string presentation of HTML node attribute name. </span>  </ul>   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="jsonToHTML"><!-- --></A>
   <H3>jsonToHTML</H3>
   <PRE>void <B>jsonToHTML</B>(aJson, aPattern, aPatternResolver, aParentNodeProvider, aNodeFactory)</PRE>
   
      <UL>Creates HTML DOM structure based on JSON object and pattern.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  collection of patterns.   
      </UL> 
   
     <UL><CODE>The</CODE> -  pattern resolver, used to obtain corresponding pattern.  it is pattern resolver, that encapsulates a logic of obtaining  pattern .  <ul>   <span>List of arguments passed to the pattern resolver:</span>    <li> The collection of patterns.    <li> The path in JSON model.    <li> The value of JSON property associated with the path.</li>    <span> Resolver returns corresponding pattern to process JSON node or null to skip ones.</span>  </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  parent node provider or the HTML node used to add child to them.  Parent node provider encapsulate a layout logic.  <ul>   <span> List of arguments passed to the provider in case of provider is a function: </span>    <li>The path in JSON model.    <li>The value of JSON property.</li>    <span>Returns HTML node or null to skip add child operation.</span>  </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  HTML node factory.  The factory creates HTML DOM node or array of nodes that should be appended to parent node.  <ul>   <span> List of arguments passed to the factory: </span>    <li> The pattern.    <li> The owner document.    <li> The path in JSON model.    <li> The value of JSON property associated with the path.</li>    <span>Returns HTML DOM node or array of nodes to append to parent node or null to skip add child operation.</span>  </ul>     
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="jsonToMap"><!-- --></A>
   <H3>jsonToMap</H3>
   <PRE>Map <B>jsonToMap</B>(anArray, aPathToKey, aPathToValue)</PRE>
   
      <UL>Returns the map created by array of JSON objects using path for key and path for value.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  array of JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defined a way to compute a key with the value associated.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defined a way to compute a value associated with key.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns the map.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="jsonToPathValue"><!-- --></A>
   <H3>jsonToPathValue</H3>
   <PRE>String <B>jsonToPathValue</B>(aJson)</PRE>
   
      <UL>Returns path-value representation of JSON object.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns path-value representation of JSON.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="jsonToXML"><!-- --></A>
   <H3>jsonToXML</H3>
   <PRE>String <B>jsonToXML</B>(aJson, aPrettyPrint, aNodeConverter, anAttributeConverter, aValueConverter)</PRE>
   
      <UL>Returns a XML representation of the JSON object based on tree traversing.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  pretty print flag.   
      </UL> 
   
     <UL><CODE>The</CODE> -  node name converter as function or Map.   <ul>   <span>List of arguments passed to the converter in case of a function:</span>    <li> The JSON node name.    <li> The JSON path as array.    <li> The event type.</li>   <span> Converter returns presentation of XML node name.</span>   </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  attribute name converter as function or Map.   <ul>   <span>List of arguments passed to the converter in case of converter is a function:</span>    <li> The attribute name.    <li> The attribute value.    <li> The JSON path as array.</li>   <span>Converter returns presentation of XML node attribute name.</span>   </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  attribute value converter as function or Map.   <ul>   <span>List of arguments passed to the converter in case of function:</span>    <li> The attribute value.    <li> The attribute name.    <li> The JSON path as array.    <li> The JSON event type.</li>   <span>Converter returns presentation of XML node attribute value.</span>   </ul>
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns a XML representation of the JSON object based on tree traversing   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="jsonTreeWalker"><!-- --></A>
   <H3>jsonTreeWalker</H3>
   <PRE>void <B>jsonTreeWalker</B>(aJson, aCallBack)</PRE>
   
      <UL>Traverses the JSON object.
 <ul>
 <span> Types of events: </span>
  <li> JSON_NODE_START - a branch node starting.
  <li> JSON_NODE_END   - a branch node closing.
  <li> JSON_NODE_LEAF  - a leaf node starting.
  <li> JSON_ATTRIBUTE  - a node, that represented as an attribute starting.
  <li> JSON_CROSS_LINKED - a cross linked node starting.
 </ul>
 </p></UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  callBack function, called to process when the branch of JSON object starting  or closing happens.  <ul>  <span>List of arguments passed to the callBack function:</span>   <li> The path to traversed node as array of string.   <li> The JSON node value.   <li> The collection of attributes as pair name-value <samp>{"name":name, "value":value}</samp>.   <li> The event type.   <li> The JSON node level.   <li> The JSON node index within a parent node.</li>  <span> The callBack function should return true to continue tree traversing,  otherwise traversing is stopped. </span>  </ul>     
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="lookupAll"><!-- --></A>
   <H3>lookupAll</H3>
   <PRE>Array <B>lookupAll</B>(aJson, aPathPattern, aValuePattern)</PRE>
   
      <UL>Looks up all reasonable nodes by specified criteria.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path pattern used to accept position in JSON object.   <ul>    <span>Available types of pattern: </span>    <li> A string with wildcard asterisk (*), that substitutes any characters in a path.    <li> A string without wildcard that matched to equals.    <li> A RegExp pattern.   </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  value pattern used to match node attributes and nested nodes attributes.  Pattern, which is represented as a map, contains pairs of nested property or attribute name and  matched value or RegExp pattern.  The value pattern looks like <samp>{"relativePath":RegExp, "relativePath":pattern}</samp>   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns collection of reasonable nodes.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#DEFAULT_ACCEPTOR">DEFAULT_ACCEPTOR</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="lookupFirst"><!-- --></A>
   <H3>lookupFirst</H3>
   <PRE>Object <B>lookupFirst</B>(aJson, aPathPattern, aValuePattern)</PRE>
   
      <UL>Looks up first reasonable node by specified criteria.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path pattern used to accept position in JSON object.   <ul>    <span>Available types of pattern: </span>    <li> A string with wildcard asterisk (*), that substitutes any characters in a path.    <li> A string without wildcard that matches equals.    <li> A RegExp pattern.   </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  value pattern to unite corresponding node attributes and nested nodes attributes.  Pattern represented as a map, contains pairs of nested property or attribute name and  matched value or RegExp pattern.  The value pattern looks like <samp>{"relativePath":RegExp, "relativePath":pattern}</samp>   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
        Returns the first matched node.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#DEFAULT_ACCEPTOR">DEFAULT_ACCEPTOR</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="merge"><!-- --></A>
   <H3>merge</H3>
   <PRE>JSON <B>merge</B>(aTemplate, aJson, aCreateMissing)</PRE>
   
      <UL>Creates and returns a merged JSON object</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  primary JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  secondary JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  flag defined the missing nodes in result JSON should be created or not.  It's true by defaults.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         The result of merge. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="populate"><!-- --></A>
   <H3>populate</H3>
   <PRE>JSON <B>populate</B>(aJson, aPath, aValue, aCreateMissing)</PRE>
   
      <UL>Populates the value to JSON object using the path based way to compute a place in JSON object.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defined a way to compute a place in JSON model  and includes different type of nodes or attribute.  
      </UL> 
   
     <UL><CODE>The</CODE> -  value.  
      </UL> 
   
     <UL><CODE>The</CODE> -  flag defines behavior of populator if node in the path is missed.  If it is true, missing nodes with corresponding by path type (Object or Array)  will be created otherwise the value will be not populated.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         The modified JSON object, useful to make chank of changes. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#setValue">setValue()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="populateFormToJson"><!-- --></A>
   <H3>populateFormToJson</H3>
   <PRE>JSON <B>populateFormToJson</B>(aForm, aJson, aConverter)</PRE>
   
      <UL>Populates HTML form data to JSON object.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  HTML form.  
      </UL> 
   
     <UL><CODE>The</CODE> -  JSON object.   
      </UL> 
   
     <UL><CODE>The</CODE> -  HTML form element name to JSON path converter as function or Map.  <ul>   <span>List of arguments passed to the converter in case of a function:</span>    <li> The HTML form element name.    <li> The HTML form element.</li>   <span>Converter returns corresponding JSON path.</span>  </ul>   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         The modified JSON object, useful to make chank of changes. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="populateJsonToForm"><!-- --></A>
   <H3>populateJsonToForm</H3>
   <PRE>void <B>populateJsonToForm</B>(aJson, aForm, aConvertor)</PRE>
   
      <UL>Populates JSON data to HTML form.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  HTML form.   
      </UL> 
   
     <UL><CODE>Function</CODE> -  or Map, which converts the HTML form element name into JSON path.  <ul>   <span>List of arguments,which is passed to the converter in case of a function:</span>    <li> The HTML form element name.    <li> The HTML form element.</li>   <span>Converter returns corresponding JSON path.</span>  </ul>     
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="registerDataProvider"><!-- --></A>
   <H3>registerDataProvider</H3>
   <PRE>void <B>registerDataProvider</B>(aPath, aFunction)</PRE>
   
      <UL>Registers data provider method by path in JSON.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  path defines a way to compute a value in JSON model.  
      </UL> 
   
     <UL><CODE>The</CODE> -  data providing method.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#getValue">getValue()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="removeChild"><!-- --></A>
   <H3>removeChild</H3>
   <PRE>JSON <B>removeChild</B>(aJson, aPath, aValue)</PRE>
   
      <UL>Removes the child node from the specified by path node.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.  
      </UL> 
   
     <UL><CODE>The</CODE> -  child node should be removed.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         The modified JSON object, useful to make chank of changes. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="removeChildren"><!-- --></A>
   <H3>removeChildren</H3>
   <PRE>JSON <B>removeChildren</B>(aJson, aPath)</PRE>
   
      <UL>Removes all children nodes from the specified by path node.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to node in JSON.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         The modified JSON object, useful to make chank of changes. 
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="selectPatternResolver"><!-- --></A>
   <H3>selectPatternResolver</H3>
   <PRE>JSON <B>selectPatternResolver</B>(aJson, aPath, aValue)</PRE>
   
      <UL>Predefined selective JSON pattern resolver.
 Pattern - it's a specified data,
 that define how JSON node will be transformed to HTML DOM node.

 <ul>
  <span>Following rules are used to obtain the pattern: </span>
   <li> Searches pattern by path.
   <li> Searches pattern by type.
   <li> Gets default pattern.</li>
  <span>Returns the first corresponding pattern.</span>
 </ul></UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  object, contains collection of patterns.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path in JSON model, used to resolve pattern.  
      </UL> 
   
     <UL><CODE>The</CODE> -  value of JSON property, used to resolve pattern.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         Returns the JSON representation of pattern used to prepare HTML DOM node.    
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#jsonToHTML">jsonToHTML()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="setFieldValue"><!-- --></A>
   <H3>setFieldValue</H3>
   <PRE>void <B>setFieldValue</B>(aElement, aValue)</PRE>
   
      <UL>Utility method, sets value to HTML form field.
 Assigns the value to HTML form field "value" property by defaults,
 sets select index for "select" element and
 sets checked to "checkbox" or "radio group".</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  HTML form field.  
      </UL> 
   
     <UL><CODE>The</CODE> -  value.     
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="setValue"><!-- --></A>
   <H3>setValue</H3>
   <PRE>JSON <B>setValue</B>(aJson, aPath, aValue, aCreateMissing)</PRE>
   
      <UL>Safe sets value to JSON model.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON object.  
      </UL> 
   
     <UL><CODE>The</CODE> -  path defines a way to compute a place in JSON model.  If nodes in the path are missed they will be created with corresponding to path type (Object or Array).  
      </UL> 
   
     <UL><CODE>The</CODE> -  Value.  
      </UL> 
   
     <UL><CODE>The</CODE> -  flag defines behavior if node in the path is missed.  If it is true, missing nodes with corresponding by path type (Object or Array)  will be created otherwise the value will be not assigned.  It's true by defaults.   
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   
   <UL>
   <B>Returns:</B>
        <UL>
         The modified JSON object, useful to make chank of changes.   
        </UL>
   </UL>
   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <UL>   
   <B>See:</B><UL>- <a href="#populate">populate()</a></UL>
   </UL>
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>

   <A NAME="visit"><!-- --></A>
   <H3>visit</H3>
   <PRE>void <B>visit</B>(aJson, anAcceptor, aVisitor)</PRE>
   
      <UL>Visits all accepted JSON nodes until a visitor returns true, otherwise stop processing.</UL>
   

   <!-- METHOD PARAMETERS START -->
   
   <UL>
   <B>Parameters:</B>
   
     <UL><CODE>The</CODE> -  JSON objects.  
      </UL> 
   
     <UL><CODE>The</CODE> -  acceptor function that indicates that JSON node should be visited.  <ul>  <span>List of arguments passed to the acceptor:</span>   <li> The path in JSON model.   <li> The value of JSON node.   <li> The collection of node attributes as pair name-value <samp>{"name":name, "value":value}</samp>.   <li> The JSON node level.   <li> The JSON node index within a parent node.</li>  <span>Returns true if visit to node accepted.</span>  </ul>   
      </UL> 
   
     <UL><CODE>The</CODE> -  visitor.  <ul>  <span>List of arguments passed to the visitor:</span>   <li> The path in JSON model as array.   <li> The value of JSON node.   <li> The collection of node attributes as pair name-value <samp>{"name":name, "value":value}</samp>.</li>  <span>Returns false if traverce of JSON should be aborted, otherwise returns true.</span>  </ul>     
      </UL> 
   
   </UL>
   
   <!-- METHOD PARAMETERS END -->

   

   <!-- ADDITIONAL ATTRIBUTES START -->
   
   <!-- ADDITIONAL ATTRIBUTES  END -->
<HR>



<!-- ============ METHOD DETAIL END ========== -->

<!-- ========= END OF CLASS DATA ========= -->

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">  <A HREF="overview-summary-jsoner.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
  <!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"-->    <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="JSINER.html"><B>PREV CLASS</B></A><!-- 
   NEXT CLASS 
-->
&nbsp;<A HREF="KeySet.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>

<!-- =========== END OF NAVBAR =========== -->

<HR>
<FONT SIZE="-1">
<p class='footer'>Copyright (c) 2007, <a href='http://soft-amis.com'>SoftAMIS<a></p>
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Tue Jun  5 15:32:30 2007</div>
</BODY>
</HTML>
